If the operation mode is OPERATION_MODE_RECENT and we end up in the
'goto file_entry' case, we don't set info.result. Then later after
calling check_save_entry, is_empty is TRUE which causes a goto out and
here we then try to use info.result, which is uninitialized.
Initialize info.result before doing all this.
Found by scan-build
if (impl->operation_mode == OPERATION_MODE_SEARCH)
return get_selected_files_as_model (impl);
+ info.impl = impl;
+ info.result = g_list_store_new (G_TYPE_FILE);
+ info.file_from_entry = NULL;
+
if (impl->operation_mode == OPERATION_MODE_RECENT)
{
if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
goto file_entry;
}
else
- return get_selected_files_as_model (impl);
+ {
+ g_object_unref (info.result);
+ return get_selected_files_as_model (impl);
+ }
}
- info.impl = impl;
- info.result = g_list_store_new (G_TYPE_FILE);
- info.file_from_entry = NULL;
-
toplevel = get_toplevel (GTK_WIDGET (impl));
if (toplevel)
current_focus = gtk_root_get_focus (GTK_ROOT (toplevel));